package com.mdd.product.validate.car;

import com.mdd.common.validate.AddGroup;
import com.mdd.common.validate.EditGroup;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;

@Data
@ApiModel("商品spu参数")
public class CarSpuValidate implements Serializable {

    private static final long serialVersionUID = 1L;
    @NotNull(message = "编号参数缺失",groups = EditGroup.class)
    @ApiModelProperty(value = "商品 SPU 编号，自增")
    private Long id;
    @NotBlank(message = "name参数缺失",groups = {AddGroup.class, EditGroup.class})
    @ApiModelProperty(value = "商品名称")
    private String name;
    @NotBlank(message = "标签缺失",groups = {AddGroup.class, EditGroup.class})
    @ApiModelProperty(value = "标签（多个以逗号隔开）")
    private String keyword;

    @ApiModelProperty(value = "商品简介")
    private String introduction;
    @ApiModelProperty(value = "商品详情")
    private String description;

    @ApiModelProperty(value = "车型编号")
    private Long brandId;

    @NotNull(message = "categoryId参数缺失",groups = {AddGroup.class, EditGroup.class})
    @ApiModelProperty(value = "商品分类编号")
    private Long categoryId;
    @NotNull(message = "请输入最低月供起",groups = {AddGroup.class, EditGroup.class})
    @ApiModelProperty(value = "最低月供起")
    private BigDecimal monthlySupplyPrice;
    @ApiModelProperty(value = "金融方案图片地址，存在地址可查看")
    private String caseUrl;
    /**
     * 售价
     */
    @NotNull(message = "请输入售价",groups = {AddGroup.class, EditGroup.class})
    @ApiModelProperty(value = "售价")
    private BigDecimal price;
    /**
     * 指导价格
     */
    @NotNull(message = "请输入指导价格",groups = {AddGroup.class, EditGroup.class})
    @ApiModelProperty(value = "指导价格")
    private BigDecimal marketPrice;

    @NotBlank(message = "请上传商品封面图",groups = {AddGroup.class, EditGroup.class})
    @ApiModelProperty(value = "商品封面图")
    private String picUrl;

    @NotBlank(message = "请上传商品轮播图",groups = {AddGroup.class, EditGroup.class})
    @ApiModelProperty(value = "商品轮播图地址 数组，以逗号分隔 最多上传5张")
    private String sliderPicUrls;

    @ApiModelProperty(value = "商品视频")
    private String videoUrl;
    @ApiModelProperty(value = "排序字段")
    private Integer sort;
    @NotBlank(message = "请输入整车质保年限",groups = {AddGroup.class, EditGroup.class})
    @ApiModelProperty(value = "整车质保年限")
    private String warranty;
    @NotNull(message = "请输入三电质保年限",groups = {AddGroup.class, EditGroup.class})
    @ApiModelProperty(value = "三电质保年限")
    private String eicWarranty;
    @NotNull(message = "请输入宽度尺寸单位（mm）",groups = {AddGroup.class, EditGroup.class})
    @ApiModelProperty(value = "宽度尺寸单位（mm）")
    private Integer width;
    @NotBlank(message = "请输入智能座位",groups = {AddGroup.class, EditGroup.class})
    @ApiModelProperty(value = "智能座位")
    private String seat;
    @NotBlank(message = "请输入安全守护",groups = {AddGroup.class, EditGroup.class})
    @ApiModelProperty(value = "安全守护")
    private String secure;
    @NotBlank(message = "请输入品质空调（空调出风口数）",groups = {AddGroup.class, EditGroup.class})
    @ApiModelProperty(value = "品质空调（空调出风口数）")
    private String airConditioning;
    @NotNull(message = "请选择栏目",groups = {AddGroup.class, EditGroup.class})
    @ApiModelProperty(value = "栏目")
    private Integer columnId;
    @NotNull(message = "请选择适用门店")
    @ApiModelProperty(value = "适用门店：0、指定门店 1、全部")
    private Boolean isAll;
    @ApiModelProperty(value = "适用门店列表")
    private String[] stores;
}
